/**
 * 音乐模型
 */
class TagDemo {
    /**
     * 构造音乐对象
     * @param  {number} id       标识
     * @param  {string} name     标签名
     * @return {Music}           音乐对象
     */
    constructor(id, name) {
        this.id = id
        this.name = name
    }

    static find(limit = 0) {
        if (limit > 0) {
            const list = storage.sort(function(a, b) {
                return b.id - a.id
            })
            return list.slice(0, limit)
        } else {
            return storage
        }

    }

    static findOne(id) {
        return storage.find(s => s.id === id)
    }

    delete() {
        return storage.splice(storage.indexOf(this), 1)
    }

    save() {
        storage.indexOf(this) === -1 && storage.push(this)
        return true
    }

    update() {
        return true
    }
}

const storage = [
    new TagDemo(1, '流行'),
    new TagDemo(2, 'R&B'),
    new TagDemo(3, '蓝调'),
    new TagDemo(4, '流行'),
    new TagDemo(5, '流行'),
    new TagDemo(6, '流行'),
    new TagDemo(7, '流行'),
    new TagDemo(8, '流行'),
    new TagDemo(9, '流行'),
    new TagDemo(10, '流行'),
    new TagDemo(11, '流行'),
    new TagDemo(12, '流行'),
    new TagDemo(13, '流行'),
    new TagDemo(14, '流行'),
    new TagDemo(15, '流行'),
    new TagDemo(16, '流行'),
    new TagDemo(17, '流行'),
    new TagDemo(18, '流行'),
    new TagDemo(19, '流行'),
    new TagDemo(20, '流行'),
]

module.exports = TagDemo